package com.examlpe.cels.service;

import java.util.Map;

import com.examlpe.cels.exception.FileNotFoundException;

/**
 * 第二个业务的接口，完成中英文互答的操作
 */
public interface IGameService {
	    // 定义保存历史记录的目录路径
		String HISTORY_DIR = "data/history";
		// 定义保存英文到中文没有完成的数据存储文件路径
		String EN_TO_CN_FILE = "data/history/en2cn.his";
		// 定义保存中文到英文没有完成的数据存储文件路径
		String CN_TO_EN_FILE = "data/history/cn2en.his";
		/**
		 *  此方法为了能够获取所有的单词和词汇，以Map集合的形式存储
		 *  1. isNew表示的是true，则从源数据中获取，即从BaseTermDaoImpl中获取
		 *  2. isNew表示的是false，则从如上的历史文件路径中读取内容
		 *  
		 *  Map的形式以key - value的形式组成，在这里都是String
		 *  	key 表示的是英文
		 *  	value表示的是中文
		 * @throws FileNotFoundException 
		 */
		Map<String,String> en2cn (boolean isNew) throws FileNotFoundException;
		/**
		 *  此方法为了能够获取所有的单词和词汇，以Map集合的形式存储
		 *  1. isNew表示的是true，则从源数据中获取，即从BaseTermDaoImpl中获取
		 *  2. isNew表示的是false，则从如上的历史文件路径中读取内容
		 *  
		 *  Map的形式以key - value的形式组成，在这里都是String
		 *  	key 表示的是中文
		 *  	value表示的是英文
		 * @throws FileNotFoundException 
		 */
		Map<String,String> cn2en (boolean isNew) throws FileNotFoundException;
		/**
		 *  持久化没有被用户所答的单词和词汇，第二个参数en2cn为true，则持久化到en2cn.his
		 *  否则，持久化到cn2en.his文件中
		 * @throws FileNotFoundException 
		 */
		void saveGameHistory(Map<String, String> map, boolean en2cn) throws FileNotFoundException;

}
